test_class.file: Actor-Lite/src/test/java/com/actors/TypedMapTest.java
test_class.identifier: TypedMapTest
test_case.body: @Test(expected = NoSuchElementException.class)
      public void getClassKeyFromEmptyMapThenThrowNoSuchElement() {
          TypedMap<Integer> map = new TypedMap<>(new HashMap<Object,Integer>());
          map.get(A.class).blockingFirst();
      }
test_case.class_method_signature: TypedMapTest.getClassKeyFromEmptyMapThenThrowNoSuchElement()
test_case.full_signature: @Test(expected = NoSuchElementException.class) public void getClassKeyFromEmptyMapThenThrowNoSuchElement()
test_case.identifier: getClassKeyFromEmptyMapThenThrowNoSuchElement
test_case.invocations: blockingFirst get
test_case.modifiers: @Test(expected = NoSuchElementException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getClassKeyFromEmptyMapThenThrowNoSuchElement()
focal_class.declarator: map
focal_class.modifier: private final
focal_class.original_string: private final Map<Object, V> map;
focal_class.type: Map<Object, V>
focal_class.var_name: map
focal_class.file: Actor-Lite/src/main/java/com/actors/TypedMap.java
focal_class.identifier: TypedMap
focal_class.interfaces: implements Iterable<Entry<Object, V>>
focal_class.class_method_signature: TypedMap.TypedMap(Map<Object, V> map)
focal_class.full_signature:   TypedMap(Map<Object, V> map)
focal_class.identifier: TypedMap
focal_class.parameters: (Map<Object, V> map)
focal_class.signature:  TypedMap(Map<Object, V> map)
focal_class.class_method_signature: TypedMap.containsKey(final Class<?> type)
focal_class.full_signature: @NonNull Single<Boolean> containsKey(final Class<?> type)
focal_class.identifier: containsKey
focal_class.modifiers: @NonNull
focal_class.parameters: (final Class<?> type)
focal_class.return: Single<Boolean>
focal_class.signature: Single<Boolean> containsKey(final Class<?> type)
focal_class.class_method_signature: TypedMap.containsKey(Object key)
focal_class.full_signature: @NonNull Single<Boolean> containsKey(Object key)
focal_class.identifier: containsKey
focal_class.modifiers: @NonNull
focal_class.parameters: (Object key)
focal_class.return: Single<Boolean>
focal_class.signature: Single<Boolean> containsKey(Object key)
focal_class.class_method_signature: TypedMap.getOrIgnore(Object key)
focal_class.full_signature: @NonNull Maybe<V> getOrIgnore(Object key)
focal_class.identifier: getOrIgnore
focal_class.modifiers: @NonNull
focal_class.parameters: (Object key)
focal_class.return: Maybe<V>
focal_class.signature: Maybe<V> getOrIgnore(Object key)
focal_class.class_method_signature: TypedMap.get(Object key)
focal_class.full_signature: @NonNull Single<V> get(Object key)
focal_class.identifier: get
focal_class.modifiers: @NonNull
focal_class.parameters: (Object key)
focal_class.return: Single<V>
focal_class.signature: Single<V> get(Object key)
focal_class.class_method_signature: TypedMap.get(@NonNull Class<?> type)
focal_class.full_signature: @NonNull Observable<V> get(@NonNull Class<?> type)
focal_class.identifier: get
focal_class.modifiers: @NonNull
focal_class.parameters: (@NonNull Class<?> type)
focal_class.return: Observable<V>
focal_class.signature: Observable<V> get(@NonNull Class<?> type)
focal_class.class_method_signature: TypedMap.getOrIgnore(final Class<?> type)
focal_class.full_signature: @NonNull Observable<V> getOrIgnore(final Class<?> type)
focal_class.identifier: getOrIgnore
focal_class.modifiers: @NonNull
focal_class.parameters: (final Class<?> type)
focal_class.return: Observable<V>
focal_class.signature: Observable<V> getOrIgnore(final Class<?> type)
focal_class.class_method_signature: TypedMap.errorObservable(@NonNull final Class<?> type)
focal_class.full_signature: @NonNull private Observable<V> errorObservable(@NonNull final Class<?> type)
focal_class.identifier: errorObservable
focal_class.modifiers: @NonNull private
focal_class.parameters: (@NonNull final Class<?> type)
focal_class.return: Observable<V>
focal_class.signature: Observable<V> errorObservable(@NonNull final Class<?> type)
focal_class.class_method_signature: TypedMap.byNonNullKey()
focal_class.full_signature: @NonNull private Predicate<Entry<Object, V>> byNonNullKey()
focal_class.identifier: byNonNullKey
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Predicate<Entry<Object, V>>
focal_class.signature: Predicate<Entry<Object, V>> byNonNullKey()
focal_class.class_method_signature: TypedMap.byValidObjectTypes(final Class<?> type)
focal_class.full_signature: @NonNull private Predicate<Entry<Object, V>> byValidObjectTypes(final Class<?> type)
focal_class.identifier: byValidObjectTypes
focal_class.modifiers: @NonNull private
focal_class.parameters: (final Class<?> type)
focal_class.return: Predicate<Entry<Object, V>>
focal_class.signature: Predicate<Entry<Object, V>> byValidObjectTypes(final Class<?> type)
focal_class.class_method_signature: TypedMap.toEntryValue()
focal_class.full_signature: @NonNull private Function<Entry<Object, V>, V> toEntryValue()
focal_class.identifier: toEntryValue
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Entry<Object, V>, V>
focal_class.signature: Function<Entry<Object, V>, V> toEntryValue()
focal_class.class_method_signature: TypedMap.put(Object key, V value)
focal_class.full_signature: @NonNull TypedMap<V> put(Object key, V value)
focal_class.identifier: put
focal_class.modifiers: @NonNull
focal_class.parameters: (Object key, V value)
focal_class.return: TypedMap<V>
focal_class.signature: TypedMap<V> put(Object key, V value)
focal_class.class_method_signature: TypedMap.remove(Object key)
focal_class.full_signature: @NonNull TypedMap<V> remove(Object key)
focal_class.identifier: remove
focal_class.modifiers: @NonNull
focal_class.parameters: (Object key)
focal_class.return: TypedMap<V>
focal_class.signature: TypedMap<V> remove(Object key)
focal_class.class_method_signature: TypedMap.clear()
focal_class.full_signature: @NonNull public TypedMap<V> clear()
focal_class.identifier: clear
focal_class.modifiers: @NonNull public
focal_class.parameters: ()
focal_class.return: TypedMap<V>
focal_class.signature: TypedMap<V> clear()
focal_class.class_method_signature: TypedMap.size()
focal_class.full_signature:  int size()
focal_class.identifier: size
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int size()
focal_class.class_method_signature: TypedMap.isEmpty()
focal_class.full_signature:  boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: TypedMap.iterator()
focal_class.full_signature: @Override @NonNull public Iterator<Entry<Object, V>> iterator()
focal_class.identifier: iterator
focal_class.modifiers: @Override @NonNull public
focal_class.parameters: ()
focal_class.return: Iterator<Entry<Object, V>>
focal_class.signature: Iterator<Entry<Object, V>> iterator()
focal_method.body: @NonNull
      Single<V> get(Object key) {
          if (map.containsKey(key)) {
              return Single.just(map.get(key));
          } else if (key != null && map.containsKey(key.getClass())) {
              return Single.just(map.get(key.getClass()));
          } else {
              return Single.error(new NoSuchElementException("no value mapped to : " + key));
          }
      }
focal_method.class_method_signature: TypedMap.get(Object key)
focal_method.full_signature: @NonNull Single<V> get(Object key)
focal_method.identifier: get
focal_method.invocations: containsKey just get containsKey getClass just get getClass error
focal_method.modifiers: @NonNull
focal_method.parameters: (Object key)
focal_method.return: Single<V>
focal_method.signature: Single<V> get(Object key)